package com.guosheng.test20181219;


import java.util.ArrayList;
import java.util.List;

/**
 * 事件的处理者
 */
public class EventHandler {

    private List<Event> objects;//是用一个list

    public EventHandler(){
        objects = new ArrayList<>();
    }

    /**
     * 添加某个对象要执行的事件，及需要的参数
     * @param object
     * @param methodName
     * @param args
     */
    public void addEvent(Object object,String methodName,Object...args){
        objects.add(new Event(object,methodName,args));
    }

    public void notifyX(){
        for(Event e:objects){
            try {
                e.invoke();
            } catch (Exception e1) {
                e1.printStackTrace();
            }
        }
    }
}
